home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 21 / CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso / CUCD / Games / ADoom / ADoom-0.9.readme < prev    next >
Text File  |  1998-02-08  |  31KB  |  877 lines

  1. Short:    Amiga port of DOOM v0.9
  2. Author:   Peter McGavin  (p.mcgavin@irl.cri.nz)
  3. Uploader: Peter McGavin  (p.mcgavin@irl.cri.nz)
  4. Type:     game/shoot
  5.  
  6.  
  7.  
  8.                             ADoom  0.9                      7 Feb 1998
  9.                             ----------
  10.  
  11.  
  12. This archive contains an Amiga port of DOOM, compiled as directly as
  13. possible from ID Software's Linux DOOM source code.
  14.  
  15. On 26th Dec 1997 I learnt that ID Software released the source code of
  16. DOOM and made it available by ftp.  So I immediately downloaded it and
  17. tried compiling it with SAS/C 6.58 for the Amiga.  This archive
  18. represents my results after about 21 evenings and 4 days.  Much of
  19. that time was spent tracking down 1 bug.  I am now back to my full
  20. time job and only have time to work on ADoom in spare evenings and
  21. weekends.
  22.  
  23. Warning: This version of ADoom is still under development and you
  24. might find some bugs.
  25.  
  26. You can get the original ID Software Linux DOOM source from:
  27.  
  28.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  29.  
  30. Source code of ADoom, which includes all my changes, is in a separate
  31. archive on Aminet.
  32.  
  33. ADoom is OS-friendly and multitasks.
  34.  
  35. ADoom puts up an ASL requester for the ScreenMode.
  36.  
  37. Sound effects, ECS support and 68040-optimised C2P are included since
  38. version 0.1.  Version 0.4 adds 68020-optimised blitter-assisted C2P
  39. and double-buffering.  Version 0.5 adds music.  Version 0.6 adds
  40. 68030-optimised blitter-assisted C2P.
  41.  
  42. Low detail mode, which can provide a significant speedup on 68030, is
  43. available and working from ADoom version 0.6.
  44.  
  45. You can use a joystick in the 2nd gameport from v0.2.
  46.  
  47. AmiTCP network support was added in v0.2, but so far is rather
  48. unstable and slow, even with a direct ethernet connection between 2
  49. fast Amigas.  Experimental support for a raw protocol over a
  50. null-modem cable and for ethernet IPX were added in v0.9.
  51.  
  52. Thanks to several people who sent me icons for ADoom.  I put them in
  53. the more_icons subdirectory in this archive.
  54.  
  55.  
  56.  
  57. REQUIREMENTS:
  58. -------------
  59.  
  60. A 68020+ Amiga running at least OS 3.0, with at least about 4 Mb of
  61. fastmem.
  62.  
  63. ADoom also works with AGA or ECS (EHB) using C2P.
  64.  
  65. Unless you have 68040+, you should have an ECS or AGA Denise chip or a
  66. gfx-card.  Theoretically the combination of 68020 or 68030 with OCS
  67. won't work because OCS can't do long blits used by the 020/030 C2P
  68. routine.  On the other hand, two different people wrote to me that
  69. ADoom worked just fine for them with 68020/30 + OCS --- weird.
  70.  
  71. A Zorro3 (or faster) graphics card, CyberGraphics and 68040+ are
  72. recommended.
  73.  
  74. A 68040+ and ethernet are recommended for networking.
  75.  
  76. --------------------------------------------------------------------
  77. | YOU NEED TO GET A WAD FILE THAT WORKS WITH LINUX DOOM AND PUT IT |
  78. | IN THE SAME DIRECTORY AS ADOOM.                                  |
  79. --------------------------------------------------------------------
  80.  
  81. Otherwise you get the message:  "Error: W_InitFiles: no files found"
  82.  
  83. WAD files typically have names like DOOM1.WAD and DOOM2.WAD.
  84.  
  85. Not all WAD files work.  It seems that some older WAD files are
  86. rejected because they leave out some information that ADoom requires.
  87. I think these same WAD files fail to work in Linux DOOM.
  88.  
  89. DOOM1.WAD from "http://surf.to/adoom/" works fine, as should the
  90. latest shareware WADs from ID Software's WWW site.  I was told that at
  91. least some Macintosh WADs work too, as does the registered DOOM II
  92. WAD.  One person told me that any "Doom2 PWAD" works, whatever that
  93. is.
  94.  
  95. A couple of people said they got the 4th episode of Ultimate DOOM to
  96. work by changing the name of the WAD file to doomu.wad.
  97.  
  98. Many people have asked me which WADs work and which don't, but I'm
  99. afraid the above is about all I know at the moment.
  100.  
  101. I received many conflicting reports about which WADs work, especially
  102. the original registered DOOM WAD seems to work for some people and not
  103. for others.  There are some several official DOOM patches available
  104. from ftp://ftp.idsoftware.com/idstuff/doom/.  Maybe something there
  105. would fix the original registered DOOM WAD.  I haven't had time to
  106. investigate.  See the file UserHints.txt for more hints and user
  107. experiences.
  108.  
  109. To play third-party WADs with non-standard names, you must have a
  110. *registered* WAD in the same directory as well.  Then you should start
  111. ADoom with the -file option specifying the third-party WAD, e.g:
  112.  
  113.         ADoom -file Satan666.wad
  114.  
  115. The -file option doesn't work if you only have a shareware WAD.
  116.  
  117. I use a stack size of 150000 bytes, but that's probably overkill.
  118. I don't know what the stack requirements really are yet.  It's
  119. probably less than 4096 bytes (because it worked OK from the icon
  120. when I forgot to set the stacksize).
  121.  
  122. An FPU is neither required nor used (except on 68060).
  123.  
  124. An MMU is neither required nor used (except -mmu option on 68040/68060).
  125.  
  126.  
  127.  
  128. HELP, I'M SWAMPED WITH E-MAIL:
  129. ------------------------------
  130.  
  131. Thanks for all your e-mails about ADoom.  I enjoy reading them.
  132.  
  133. However please note that I received upwards of 40 messages per day for
  134. several days.  Now I'm back to my full-time job, so I only get time to
  135. work on ADoom and catch up on e-mail on my spare evenings and
  136. weekends.  I apologise in advance if you don't receive a reply.
  137.  
  138. Yes I know the Descent source is out.  At least 14 people told me.
  139. Sorry I don't have time to port it right now...
  140.  
  141. And no, ADoom wouldn't be any faster if it used the FPU, because DOOM
  142. doesn't do any floating-point arithmetic...
  143.  
  144.  
  145.  
  146. SPEEDING UP DISK LOADING:
  147. -------------------------
  148.  
  149. Several people reported ADoom taking 10 minutes or more to load the
  150. WAD file at the start of the game.  Really it should only take 10 or
  151. 20 seconds or so.  If you find it's too slow, try adding more disk
  152. buffers with the AmigaDOS ADDBUFFERS command.  Adding 300 buffers can
  153. vastly increase the disk-loading speed.
  154.  
  155. One person recommended DynamiCache instead, but I haven't tried that.
  156.  
  157. There are more hints on this topic in the UserHints.txt file.
  158.  
  159.  
  160.  
  161. MUSIC:
  162. ------
  163.  
  164. ADoom supports music based on .MUS-player source code sent to me by
  165. Joseph Fenton <jlfenton@ctaz.com> of MicroCode Solutions.  Music
  166. requires an extra file not included in the archive because of its
  167. size.  You should download ADoom_Instr.lha from Aminet and unpack the
  168. file MIDI_Instruments into your ADoom program directory.
  169.  
  170. Music is disabled by default because the MIDI_Instruments file is
  171. distributed separately.  Once you have the MIDI_Instruments file,
  172. enable music with the -music option or MUSIC tooltype.
  173.  
  174. Joe greatly improved the MIDI_Instruments file over the version
  175. supplied with ADoom 0.5.
  176.  
  177. Joe says "You might want to give my brother Michael some credit as
  178. well, he wrote the event handling and the Player Interface code; I did
  179. the PlayNote and interrupt audio engine and instruments".
  180.  
  181. Enabling music adds to the atmosphere, but it also slows the game down
  182. and leaves only 2 channels for sound effects.  Without the music you
  183. get 4 channels for sound effects.
  184.  
  185. From version 0.6 you can disable all sound effects with -nosfx or the
  186. NOSFX icon tooltype.  That leaves audio channels free so you can use
  187. your own music player in the background.
  188.  
  189. From version 0.8, the music volume is lowered and clicks and pops
  190. eliminated.
  191.  
  192.  
  193.  
  194. KEYBOARD:
  195. ---------
  196.  
  197. Most keys are mapped the same as on a PC.  However the Amiga doesn't
  198. have F11, F12 and PAUSE keys.  On the Amiga, press '[' for F11, ']'
  199. for F12 and HELP for PAUSE.
  200.  
  201. Many people complained about the keyboard layout, especially CTRL for
  202. FIRE.  It's possible to customise the keymap in .doomrc --- see
  203. UserHints.txt.
  204.  
  205. In version 0.6 I changed the Right-Amiga key to send the same code as
  206. CTRL (was the same as Right-Alt in 0.5) and I disabled the Left-Amiga
  207. key so screen-flipping doesn't set things off.  Someone just pointed
  208. out this wasn't such a good idea.  AmigaOS uses Right-Amiga and arrows
  209. together for moving the mouse pointer when you don't have a mouse.
  210.  
  211.  
  212.  
  213. MOUSE:
  214. ------
  215.  
  216. Mouse support was added in version 0.3, but it is disabled by default.
  217. That's because it slows the game down.  To enable the mouse, start
  218. ADoom with the -mouse option, or use the MOUSE icon tooltype.
  219.  
  220.  
  221.  
  222. CD32 JOYPAD:
  223. ------------
  224.  
  225. Gabry (ggreco@iol.it) emailed me some CD32 joypad handling code.  It
  226. is disabled by default because it requires lowlevel.library.  If you
  227. want to try it, use the -joypad option or JOYPAD tooltype.
  228.  
  229.  
  230.  
  231. SEGA CONTROLLER:
  232. ----------------
  233.  
  234. From version 0.9, I added Joe Fenton's SEGA controller code.  To
  235. enable it, use the -sega3 or -sega6 options or SEGA3 or SEGA6
  236. tooltype.  I have not been able to test this code.  The rest of
  237. this section was written by Joseph Fenton <jlfenton@ctaz.com>:
  238.  
  239. There are two new flags: 
  240. -sega3  look for a 3 button Sega controller.
  241. -sega6  look for a 6 button Sega controller; you MUST use this
  242. on a Sega 6 button controller or it won't work correctly.
  243.  
  244. The button mapping is as follows:
  245. Start = Space (Action)
  246. A      = Strafe Right
  247. B      = Fire
  248. C      = Strafe Left
  249. On the 6 button controller you also get
  250. Mode = Esc (Menu)
  251. X      = Return (Enter/Show last message)
  252. Y      = Shift (Fast/Run)
  253. Z       = Tab (Map on/off)
  254.  
  255. A Sega Genesis controller may be use on the Amiga as long
  256. as you swap lines 5 & 7, and put a 470 ohm resistor
  257. between lines 5 & 7.
  258.  
  259. The controller plug pinout is:
  260.      1   2   3   4   5
  261.         6   7   8   9
  262.  
  263. The best way to switch the lines is to open up the
  264. controller and change them on the circuit card.
  265. Note: doing this will make the controller incompatible
  266. with SEGA equipment; if you make the changes, you
  267. are on your own; I will not be held responsible for any
  268. damage incurred by performing the above procedure.
  269. If you aren't comfortable doing your own conversion
  270. and don't know anyone who can help, DON'T TRY IT!
  271. Get yourself a CD32 joypad.  This is ONLY for people
  272. who know what they are doing and want the range of
  273. controllers available for SEGA equipment.
  274.  
  275.  
  276.  
  277. SAVING THE SCREENMODE:
  278. ----------------------
  279.  
  280. If you don't like the ScreenMode requester every time ADoom runs, you
  281. can save your favourite ScreenMode as an icon tooltype.
  282.  
  283. First, watch the output of ADoom when it starts up and note the
  284. DisplayID of the ScreenMode you selected.  It will be something like
  285. $40420000.  Now click the ADoom icon once and select "Information..."
  286. from the Icons menu.  Click on NEW and type in:
  287.  
  288.   SCREENMODE=$40420000
  289.  
  290. replacing $40420000 with the DisplayID you noted.  Delete any other
  291. SCREENMODE tooltypes.  Finally, click SAVE, and start ADoom again.
  292.  
  293. Alternatively, use -screenmode <screenmode> on the command line, e.g,
  294.  
  295.   ADoom -screenmode $40420000
  296.  
  297.  
  298.  
  299. MEMORY:
  300. -------
  301.  
  302. ADoom has a built-in disk caching system that automatically tries to
  303. keep the most important game information in memory, minimising disk
  304. accesses.  ADoom automatically allocates a 6 Mb block of memory for
  305. the cache if it can, otherwise it tries to allocate the biggest block
  306. it can, bigger than 2 Mb, while still leaving 2 Mb of fastmem free.
  307.  
  308. You can override ADoom's default cache size determination algorithm
  309. with "-heapsize <number>" option or "HEAPSIZE=<number>" icon tooltype,
  310. where <number> is in kilobytes.  If you set the heapsize to less than
  311. about 2000 kb, ADoom might fail to load certain WADs.  The shareware
  312. WAD works with "-heapsize 1000".
  313.  
  314. Setting the heapsize is useful if you only have a small amount of
  315. memory, or if you want to set aside memory for an enormous cache.  The
  316. smaller the heapsize, the more ADoom will access disk during play.
  317.  
  318. If you have only 4 Mb of fastmem (or less), try "-heapsize 2000" or
  319. even "-heapsize 1000".
  320.  
  321.  
  322.  
  323. FPS COUNTER:
  324. ------------
  325.  
  326. From version 0.8 you can use the -fps option of FPS icon tooltype to
  327. put a continuously updated frames/second counter in the top-left
  328. corner.  From version 0.9 it is in the top-right corner.  Note that
  329. this slows down ADoom slightly.
  330.  
  331. The official way to measure FPS is to use the shareware doom1.wad,
  332. high detail, 2 steps down from max window size, "Adoom -mmu -forcedemo
  333. -timedemo demo3" after a clean reboot and SetPatch, then apply the
  334. formula:
  335.  
  336.     FPS = (gameticks / realticks) * 35
  337.  
  338. By this method, speeds in excess of 31 frames per second have been
  339. reported for ADoom version 0.7 on 68060 Amigas with CyberGraphX.
  340.  
  341. See http://www.balldesi.demon.co.uk/ for the latest speed results of
  342. various Amiga DOOM ports.
  343.  
  344.  
  345.  
  346. ROTATEMAP AND MAPONHU:
  347. ----------------------
  348.  
  349. Cyril Deble <Cyril.Deble@inforoute.cgs.fr> sent me some patches to
  350. make the automap display on the main 3d view and rotate like in Alien
  351. Breed 3D.
  352.  
  353. From ADoom version 0.8 you can use two command lines/icon options
  354.  
  355.  -maponhu : map on headup
  356.  
  357.  -rotatemap : automap rotate
  358.  
  359. Cyril warns:
  360.  
  361. "A small bug accurs when you use a non full screen view with the
  362. automap the border are not refreshed as the border is buffered...  You
  363. have just to change the clipping area of the automap to make it work
  364. ok.
  365.  
  366. "I don't get too much into the code and i don t have time to do any
  367. further change hope it will be usefull for something...  It's rather
  368. nice for me to include it into ADoom and i have noticed no slowdown
  369. while the map is on the 3D view... My config is 060/AGA
  370.  
  371. The bug which didn't rotate "markers" with the map should be fixed in
  372. version 0.9.
  373.  
  374.  
  375.  
  376. NETWORKING:
  377. -----------
  378.  
  379. ADoom 0.9 supports 3 different network protocols: TCP/IP, IPX and raw
  380. null-modem.
  381.  
  382. Unfortunately ADoom generates a vast amount of network traffic and
  383. loads both the network and the CPU.  I recommend at least a 68040 for
  384. networking.  A fast connection, such as ethernet, helps a lot too.
  385. One slow machine in the network game slows everyone down.
  386.  
  387. There seems to be a problem getting past the first level of DOOM2 in
  388. network mode unless you specify -deathmatch.
  389.  
  390.  
  391.  
  392. TCP/IP:
  393. -------
  394.  
  395. AmiTCP networking in ADoom is based on the Linux DOOM source code.  It
  396. works between Amigas and also with Linux PCs using TCP/IP on a fast
  397. network.  You need either AmiTCP or Miami on your Amiga for it to
  398. work.  Make sure you are using a recent version of AmiTCP or Miami.
  399. Fast Amigas and a fast connection help a lot too.  It's best over
  400. ethernet and OK over AmigaLink.  It works over a serial line with SLIP
  401. or PPP too, but people with 68030s reported unplayably poor
  402. performance.
  403.  
  404. TCP/IP does not work to PCs running MSDOS or Win95, unless perhaps you
  405. can find a PC version of DOOM compiled from the Linux source code
  406. which supports TCP/IP.  Several people told me Win95Doom TCP/IP does
  407. not work with ADoom.
  408.  
  409. To start ADoom across 2 computers called fred and bob, say:
  410.  
  411.   1:  Make certain both computers are using identical WAD files;
  412.  
  413.   2:  Make certain you can PING fred from bob and vice versa;
  414.  
  415.   3:  On bob, enter:    "ADoom -net 1 fred"
  416.  
  417.   4:  On fred, enter:   "ADoom -net 2 bob"
  418.  
  419.  
  420. If there are 3 computers, called fred, bob and sue, say:
  421.  
  422.   1:  Make certain all 3 computers are using identical WAD files;
  423.  
  424.   2:  Make certain you can PING between all computers by name;
  425.  
  426.   3:  On bob, enter:    "ADoom -net 1 fred sue"
  427.  
  428.   4:  On fred, enter:   "ADoom -net 2 bob sue"
  429.  
  430.   5:  On sue, enter:    "ADoom -net 3 fred bob"
  431.  
  432.  
  433. It's normal for screens to go blank sometimes during the startup phase.
  434.  
  435. On Linux I used DOOM compiled from the source code available from:
  436.  
  437.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  438.  
  439.  
  440. I don't know whether other Linux DOOM implementations are compatible.
  441.  
  442. So far I have tested up to 3 computers.  The code is pretty untested
  443. and your mileage may vary.
  444.  
  445.  
  446.  
  447. IPX:
  448. ----
  449.  
  450. IPX is the ethernet protocol used by MSDOS versions of DOOM.  ADoom
  451. 0.9 uses G.J.Peltenburg's amipx.library version 1.1 or higher for IPX.
  452. You can get this library from Aminet.  After several evenings of
  453. struggling with the library and with checksums and
  454. big-endian/little-endian problems and with version number problems,
  455. the protocol finally seems to work, sort of...
  456.  
  457. Unfortunately I did not foresee another problem.  The PC versions of
  458. the DOOM program I've tried so far do not exactly match Linux DOOM,
  459. even when using exactly the same WAD file.  In my experience, the game
  460. often gets out of sync (consistency failure) or quits unexpectedly.
  461.  
  462. Between 2 fast Amigas, ADoom with IPX works reasonably well using
  463. a2065.device.  Hopefully it also works using ariadne.device and other
  464. Sana2 ethernet devices.
  465.  
  466. First you should install G.J.Peltenburg's amipx.library version 1.1 or
  467. higher (from Aminet) and configure your Network number, Node, Device
  468. driver, Unit number and Frame Type in amipx_prefs.  I use the Frame
  469. Type "Ethernet 802.2" and just set everything else to 0.
  470.  
  471. Note that you need amipx.library at least version 1.1.  Version 1.0
  472. doesn't work.  (Well, v1.0 might work with ariadne.device...)
  473.  
  474. The syntax for starting ADoom with IPX is:
  475.  
  476.   ADoom -netipx <number-of-nodes>
  477.  
  478. For example:
  479.  
  480.   ADoom -netipx 2
  481.  
  482. ADoom automatically waits until the number of nodes specified are
  483. found on the local ethernet, then starts the game.  You should all
  484. specify the same number of nodes and you should all use the same WAD
  485. files and other options.
  486.  
  487. So far I have tested up to 2 Amigas and 1 PC all at once.  The code is
  488. pretty untested and your mileage may vary.
  489.  
  490. If you try IPX between an Amiga and a PC, there are 2 more options you
  491. MUST know about.
  492.  
  493. The -pcchecksum option tells ADoom to calculate net packet checksums
  494. the same way the PC version does.  By default, ADoom calculates net
  495. packet checksums the same way Linux DOOM does, which is different.  If
  496. you don't use -pcchecksum, the PC will reject and ignore (nearly) all
  497. game packets.
  498.  
  499. The -forceversion <number> option fools a PC into thinking you are
  500. running a particular version of DOOM.  I use -forceversion 106 with
  501. DOOM2 version 1.666, for example.  The default is -forceversion 110
  502. for version 1.10.  PC DOOM rejects any DOOM program that identifies
  503. itself as a different version number.  Sorry I don't know an easy way
  504. of working out what number you need after -forceversion to impersonate
  505. a particular version of PC DOOM.  Try -forceversion 109 with DOOM2
  506. version 1.9, perhaps.
  507.  
  508. I'm very interested to know your experiences with ADoom between PCs
  509. and Amigas using IPX.
  510.  
  511. Thanks to G.J.Peltenburg for sending me the freely available IPX
  512. support source code from ID Software's ftp site, after modifying it
  513. for his amipx.library.
  514.  
  515.  
  516.  
  517. DIRECT NULL-MODEM:
  518. ------------------
  519.  
  520. So many people requested a raw null-modem protocol that I sat down and
  521. implemented it for version 0.9.  Well it was mainly an exercise to
  522. prepare myself for IPX.
  523.  
  524. It only works between 2 Amigas with the serial ports connected by a
  525. null-modem cable.  It uses 7-wire CTS/RTS handshaking, so a simple
  526. 3-conductor cable won't work.  I'm pretty sure null-modem won't work
  527. between an Amiga and a PC, because I made no attempt to match the
  528. protocol.  In other words, it requires 2 Amigas.
  529.  
  530. I suppose it would work between 2 Amigas over a telephone line with
  531. modems.  You would need to manually dial and make the connection
  532. first.  Then you would need to shutdown the connection program before
  533. starting ADoom.  The Hayes modem command at&d0 might be useful for
  534. leaving the modem on-line between shutting down the connection program
  535. and starting ADoom.
  536.  
  537. The ADoom syntax is:
  538.  
  539.   ADoom -netserial <node-number> <serialdevice> <unit> <speed>
  540.  
  541. For example, you could enter:
  542.  
  543.   ADoom -netserial 1 serial.device 0 38400
  544.  
  545. on one Amiga and
  546.  
  547.   ADoom -netserial 2 serial.device 0 38400
  548.  
  549. on the other.  One of the Amigas is always node 1 and the other one
  550. is always node 2.
  551.  
  552. It is not necessary to use serial.device.  In fact artser.device or
  553. 8n1.device, if you have them, probably work more reliably or at higher
  554. speeds than serial.device.
  555.  
  556. I think you should use the highest speed that both Amigas cope with.
  557. My experience is that 38400 is about the limit for 68030 Amigas.  My
  558. 68040 WarpEngine works OK with artser.device at 57600.  If you set the
  559. speed too high, ADoom will probably behave erratically or lock-up
  560. after a while.  If you set the speed too low, I suspect the game will
  561. run only very slowly.
  562.  
  563. The game tends to slow right down when there are lots of active
  564. monsters anyway.  Try -deathmatch -nomonsters perhaps.
  565.  
  566. I recommend you start ADoom on node 2 first.  That's because node 2 is
  567. the "listener" during the setup phase.  If you start ADoom on node 1
  568. first, ADoom on node 2 is likely to open serial.device while node 1 is
  569. part way through sending a setup packet.  That could lead to
  570. synchronisation problems and possible lockups.
  571.  
  572.  
  573.  
  574. MISCELLANEOUS NEW OPTIONS:
  575. --------------------------
  576.  
  577. Several new options were added in version 0.9.  Each has a
  578. corresponding tooltype.
  579.  
  580.   -cpu <cpu-type>         force use of routines optimised for, e.g, 68060
  581.  
  582.   -rtg                    forces single-buffering and WritePixelArray8()
  583.  
  584.   -native                 forces use of C2P routine (crashes if not planar)
  585.  
  586.   -ehb                    forces use of 6-bitplane extra-half-brite code
  587.  
  588.   -mousepointer           leaves the mouse pointer on
  589.  
  590.   -forceversion <number>  send different version number to other net node(s)
  591.  
  592.   -pcchecksum             calculate net packet checksums the PC way (not Linux)
  593.  
  594.  
  595.  
  596. CHUNKY TO PLANAR:
  597. -----------------
  598.  
  599. For native screenmodes on 68040+, ADoom uses a CPU-only C2P routine.
  600. For EHB on 68040+ it also uses a comparison buffer.  I timed it on my
  601. WarpEngine as being faster on average than a routine without a
  602. comparison buffer.  The comparison buffer method is temporary until I
  603. can figure out some sort of list of dirty-bounding-boxes thingy.
  604.  
  605. From version 0.4, ADoom in native Amiga modes (AGA and ECS)
  606. double-buffers.
  607.  
  608. From version 0.4, ADoom uses a blitter-assisted C2P routine on
  609. 68020/30.  The blitter does the latter half of the C2P conversion in
  610. chipmem while the 3D engine renders the next frame to fastmem.  It
  611. also double-buffers --- a necessity for this approach.  On a 50MHz
  612. 68030, C2P CPU-time is 3 times less than in version 0.3.
  613. Unfortunately it looks as if C2P is only a small fraction of total
  614. time anyway, maybe 10..15%.  In version 0.6 I replaced the AGA 68030
  615. C2P that did 2 CPU merges and 2 blitter passes with one based on
  616. Mikael Kalms' routine that does 3 cpu merges and 1 blitter pass.
  617.  
  618. C2P for ECS (EHB) modes takes longer because there is an extra table
  619. lookup for each pixel.  It converts 8-bit -> 6-bit.
  620.  
  621. ADoom renders to fastmem and uses WritePixelArray8() on gfx-cards.
  622.  
  623. Several people asked me to make a version which renders directly to
  624. the CyberGraphX framebuffer, like Trance's AmiDoom and RTGMaster.  I
  625. started doing this, but didn't finish.  To try it with CyberGraphX,
  626. use the -directcgx option or DIRECTCGX icon tooltype, but it will
  627. probably be slower and flicker like hell...  It may also corrupt other
  628. screens if you flip or drag screens.  It needs double buffering to get
  629. rid of the flicker.  I tried to add double-buffering but couldn't get
  630. the interaction with I_ReadScreen() right.
  631.  
  632.  
  633.  
  634. RENDERING:
  635. ----------
  636.  
  637. Version 0.5 uses fast column and span renderers by Aki Laukkanen.  Aki
  638. supplied seperate 68060-optimised routines.  These are selected if you
  639. have a 68060, provided you have SetPatch and 68060.library correctly
  640. installed.
  641.  
  642.  
  643.  
  644. PICASSO96:
  645. ----------
  646.  
  647. I developed ADoom using CyberGraphX and I have not tested ADoom with
  648. Picasso96 graphics libraries.  On the other hand, many users reported
  649. ADoom works just fine with Picasso96.  A couple of people reported
  650. problems with the P96 1.34a update.  See UserHints.txt.
  651.  
  652.  
  653.  
  654. ZORRO-2 GFX-CARDS:
  655. ------------------
  656.  
  657. ADoom works with Zorro-2 graphics cards, but you will likely find that
  658. performance is slightly worse than in AGA modes.  That's because the
  659. memory transfer speed of Zorro-2 is slower than 32-bit chipmem ---
  660. believe it or not.
  661.  
  662. With a fast-enough CPU, ADoom uses the all the memory transfer
  663. bandwidth in both cases.  That's in spite of converting chunky to
  664. planar at the same time in the case of AGA.  That's also in spite of
  665. FAQs still arguing that planar is 8 times slower than chunky for
  666. texture-mapping.  So choose an AGA mode for better performance.  Or,
  667. better still, get a Zorro-3 (or faster) gfx-card, and the right buster
  668. chip for it.
  669.  
  670.  
  671.  
  672. 68060:
  673. ------
  674.  
  675. Several people reported extremely poor performance on their 68060
  676. systems, although that was mostly with ADoom versions before 0.5.  If
  677. that happens to you, try using the FastExec (whatever that is) "SSP to
  678. FastMem" option.  Several 68060 users told me that made a huge speed
  679. difference.  Shaun Falkenberg (shaunf@box.net.au) suggests the
  680. equivalent option in MCP might be better because it saves a reboot on
  681. cold startup.  OxyPatcher is yet another alternative.
  682.  
  683. ADoom 0.5 uses 68060-specific fixed-point routines which don't use
  684. 64-bit MULS & DIVS on 68060.  You must have SetPatch and 68060.library
  685. correctly installed for these faster routines to be selected.  Version
  686. 0.6 uses the FPU for both fixed-point multiplies and divides on 68060.
  687. Version 0.5 used the FPU for fixed-point divides and 32-bit integer
  688. instructions for fixed-point multiplies on 68060.
  689.  
  690. In version 0.6 I added the -mmu option and MMU icon tooltype to mark
  691. the chunky buffer and chip raster as "imprecise" using the MMU.  I
  692. used Aki Laukkanen's MMU code for this.  This may speed up ADoom on
  693. 68040+MMU and 68060+MMU systems slightly, by better scheduling memory
  694. accesses.
  695.  
  696.  
  697.  
  698. LIMITATIONS:
  699. ------------
  700.  
  701. Play-tested for a few hours on an A3000 + WarpEngine + GVP Spectrum +
  702. Cybergraphics running OS3.1 and Enforcer, on which it seems to run
  703. very smoothly.  Many people reported success with earlier versions of
  704. ADoom.  I think I finally fixed all the crash on exit bugs.  I think
  705. the teleport bug is fixed.
  706.  
  707. Outstanding bugs possibly include problems with -record and -playdemo,
  708. problem using -timedemo without also -forcedemo, network problems and
  709. problems loading the original registered doom.wad.  Someone reported
  710. the mysterious "PNAMES not found" bug is still present in version 0.8,
  711. so it's probably still there in version 0.9 too.  However bugs are
  712. becoming rarer these days.  Hopefully I didn't introduce too many new
  713. ones in the latest version...
  714.  
  715.  
  716.  
  717. WORLD WIDE WEB SITES:
  718. ---------------------
  719.  
  720. There is no official ADoom Web page.  Sorry, but I just haven't got
  721. time to support one.  However I'm quite happy for anyone to make ADoom
  722. available from their page.
  723.  
  724. There are several web pages specialising in DOOM for the Amiga.  Some
  725. good ones are:
  726.  
  727.     http://www.pluk.com/     has about 6 other Amiga DOOM ports
  728.  
  729.     http://surf.to/adoom/    fast mirror of http://www.pluk.com/
  730.  
  731.     http://homepages.which.net/~bartlett/    the Amiga DOOM Bible
  732.  
  733.     http://hem2.passagen.se/sids/adoom/    an ADoom-only page
  734.  
  735.     http://www.balldesi.demon.co.uk/    for the latest speed benchmarks
  736.  
  737.     http://www.boehme.demon.co.uk/aliens.html    some tested 3rd party WADs
  738.  
  739.     http://fiction.pb.owl.de/~frank/    for a PPC port of ADoom
  740.  
  741. and Aminet, of course.
  742.  
  743.  
  744.  
  745. BUGS FIXED:
  746. -----------
  747.  
  748. 0.9
  749.  
  750. Made it possible to CTRL/C out of network synchronisation wait loop.
  751.  
  752. Applied patches to am_map.c supplied by Cyril Deble to fix bugs map
  753. markers and boundaries with -rotatemap and -maponhu.
  754.  
  755. Fixed some serious memory allocation/deallocation bugs in w_wad.c.
  756. See amiga_notes.txt.
  757.  
  758. The TURBO tooltype corresponding to the -turbo option (whatever that
  759. is) isn't a flag, it takes an argument.  ADoom was treating it as a
  760. flag.  Fixed.
  761.  
  762. 0.8
  763.  
  764. Got rid of the warning message for every sound effect when -nosfx is
  765. used.
  766.  
  767. Lowered the volume of music and sound effects.  That eliminated the
  768. clicks and pops in music and enabled the full range of the sound
  769. effect volume slider to have effect.
  770.  
  771. Fixed (harmless) missing #endif in d_main.c.
  772.  
  773. Fixed bug in r_things.c, info.c and info.h.  I wonder if this fixed
  774. the "PNAMES not found" bug.  See amiga_notes.txt.
  775.  
  776. Applied patch supplied by Aki to DrawColumn_060() in amiga_draw.s to
  777. fix problem with red stairs and random pixels on 68060.
  778.  
  779. 0.7
  780.  
  781. In 0.6 I accidently introduced a serious bug into the C2P routine used
  782. for 68040+AGA and 68060+AGA.  Fixed this for version 0.7.
  783.  
  784. In 0.6 I accidently introduced a serious bug in the MMU cleanup
  785. routine when -mmu is used or the MMU icon tooltype is used.  Fixed for
  786. version 0.7.
  787.  
  788. 0.6
  789.  
  790. Fixed bug in low detail mode and re-enabled it, thanks to a note from
  791. Georg Steger <steger@pass.dnet.it>, the author of DoomAttack, and some
  792. assembly code from Aki Laukkanen.
  793.  
  794. The monster-counting bug (also the problem with "Dead Simple") was
  795. caused by SAS/C generating unexpected code for function pointer
  796. comparisons in "if" statements with CODE=NEAR.  See amiga_notes.txt in
  797. the source archive.
  798.  
  799. Version 0.5 had a bug in the DrawSpan() routines which left bright
  800. dots scattered around the floors and ceilings and red stairs at the
  801. start.  Applied patch supplied by Aki Laukkanen.
  802.  
  803. Music tones are now PAL/NTSC sensitive.
  804.  
  805. Fixed the bug which sometimes caused crash on exit when music is
  806. enabled.
  807.  
  808. 0.5
  809.  
  810. The call to BestModeID() in amiga_video.c had an unterminated taglist.
  811. Fixed.
  812.  
  813. Whoops it never worked under OS2.1 after all.  For now I've changed it
  814. so ADoom refuses to start on less than OS3.0.  Currently I think
  815. LoadRGB32() is the only V39 function used.  ADoom 0.4 was also calling
  816. BestModeID() and failing to autoopen lowlevel.library.
  817.  
  818. 0.4
  819.  
  820. Gamma correction tables weren't being used in ECS modes.  Fixed.
  821.  
  822. Set default task priority to -5 because ADoom is unfriendly to other
  823. tasks otherwise.  Added -taskpriority commandline option and
  824. TASKPRIORITY icon tooltype, so you can set whatever priority you like.
  825.  
  826. I think I finally fixed the crash on exit bug.  Two commas were
  827. missing in dstrings.c.  I haven't had a crash for a long time now.
  828.  
  829. 0.3
  830.  
  831. In ADoom versions up to 0.2, setting graphics detail LOW and then
  832. resizing the display resulted in corrupt graphics.  Crashes were
  833. possible.  Indeed, LOW detail didn't work at all.  This appears to be
  834. a bug in the original Linux source.  I can't see how LOW detail is
  835. supposed to work, so for now I've disabled LOW detail in ADoom 0.3.
  836.  
  837. ADoom exclusively allocates the 2nd gameport for the joystick.  It
  838. seems that many people have something in their startup which
  839. exclusively allocates the gameport, in which case ADoom v0.2 refuses
  840. to run.  BlitzBlanker is one such culprit.  ADoom 0.3 runs with the
  841. joystick disabled if it can't exclusively allocate the gameport.
  842.  
  843. Added -forcedemo option in v0.3 to override the version check when
  844. playing demos.  The FORCEDEMO icon tooltype does the same thing.
  845. There is a risk something might go wrong if the versions don't match,
  846. but I haven't observed any problems so far.
  847.  
  848. Early versions of DOOM had a sound pitch change feature.  That is, the
  849. same sound sounds effect could be played at different notes.  I
  850. reproduced this feature in ADoom 0.1 and ADoom 0.2.  However more than
  851. one user told me this feature was removed from recent versions of DOOM
  852. and some effects sound wrong in ADoom.  Therefore I disabled the pitch
  853. change feature in ADoom v0.3.  It is still there and can be enabled
  854. with the -changepitch option or CHANGEPITCH icon tooltype.
  855.  
  856. 0.2
  857.  
  858. Early versions of ADoom required the HOME environment variable to be
  859. set.  This confused a lot of people.  Since version 0.2, ADoom saves
  860. its prefs file (.doomrc) in the current directory if HOME is not set.
  861.  
  862. Early versions of ADoom crashed if there wasn't enough memory
  863. available.  Since version 0.2, ADoom checks the result of the main (up
  864. to 6 Mb) memory allocation.  There are still a few places where small
  865. memory allocations are not checked.
  866.  
  867.  
  868.  
  869. THANKS:
  870. -------
  871.  
  872. Thanks to John Carmack and ID Software for one of the best games ever!
  873.  
  874.  
  875.  
  876. Peter McGavin.  (p.mcgavin@irl.cri.nz)
  877.